With the development of distributed data storage technology, a data storage system is no longer limited to being locally deployed on a single storage device, but may be disposed at any physical position that is accessible to a user via a network. Meanwhile, a large data object may be divided into small data blocks and then stored on multiple storage devices. Further, multiple copies of each data block of the data object may be stored on different devices so as to increase the reliability of the storage system. In a distributed data storage system, if one storage device crashes, the copy stored on the crashed storage device may be recovered from other storage devices.
Data distribution among multiple storage devices is also important for distributed data processing. In the distributed data storage system, data processing is not limited to being implemented on a single device. Instead, each small data block may be processed at its local device utilizing the computing power of the local storage device. Each small data block may be processed at a corresponding local device, and then the processed result of each small data block may be integrated into a final result.